/**
 * 
 */
package net.toocruel.iqismart.service;

import net.toocruel.iqismart.entity.rbac.Role;
import net.toocruel.iqismart.dao.condition.RoleCondition;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

import java.util.List;

/**
 * 角色服务
 * 
 * @author toocruel
 *
 */
public interface RoleService {
	
	/**
	 * 创建角色
	 * @param role
	 * @return
	 */
	Role create(Role role);
	/**
	 * 修改角色
	 * @param role
	 * @return
	 */
	Role update(Role role);
	/**
	 * 删除角色
	 * @param id
	 */
	void delete(Long id);
	/**
	 * 获取角色详细信息
	 * @param id
	 * @return
	 */
	Role getInfo(Long id);
	/**
	 * 查询所有角色
	 * @return
	 */
	List<Role> findAll();


    Page<Role> query(RoleCondition condition, PageRequest pageRequest);

	Role findById(Long id);

	int deleteMany(Long[] id);

    void setResources(Role role);
}
